package com.test.test_rest.miner_pool.domain.gen;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class SuperMinerCommodity implements Serializable {
    private Integer id;

    /**
     * 算力Id
     */
    private Integer minerId;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品图片
     */
    private String image;

    /**
     * 提示信息 开始/发货时间提示
     */
    private String tips;

    /**
     * 原价
     */
    private Integer originalPrice;

    /**
     * 现价
     */
    private Integer nowPrice;

    /**
     * 功耗 kw·h
     */
    private BigDecimal powerWaste;

    /**
     * 管理费比例
     */
    private Integer managementPrice;

    /**
     * 使用周期
     */
    private String useCycle;

    /**
     * 每天电费（元）
     */
    private BigDecimal electricityFeesDay;

    /**
     * 电费价格（元）
     */
    private BigDecimal electricityFeesPrice;

    /**
     * 预计日产出
     */
    private BigDecimal dailyOutput;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    private Date createTime;

    private Date updateTime;

    /**
     * 算力
     */
    private String power;

    private String symbol;

    /**
     * 商品介绍
     */
    private String introduce;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 算力Id
     */
    public Integer getMinerId() {
        return minerId;
    }

    /**
     * 算力Id
     */
    public void setMinerId(Integer minerId) {
        this.minerId = minerId;
    }

    /**
     * 商品名称
     */
    public String getName() {
        return name;
    }

    /**
     * 商品名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 商品图片
     */
    public String getImage() {
        return image;
    }

    /**
     * 商品图片
     */
    public void setImage(String image) {
        this.image = image;
    }

    /**
     * 提示信息 开始/发货时间提示
     */
    public String getTips() {
        return tips;
    }

    /**
     * 提示信息 开始/发货时间提示
     */
    public void setTips(String tips) {
        this.tips = tips;
    }

    /**
     * 原价
     */
    public Integer getOriginalPrice() {
        return originalPrice;
    }

    /**
     * 原价
     */
    public void setOriginalPrice(Integer originalPrice) {
        this.originalPrice = originalPrice;
    }

    /**
     * 现价
     */
    public Integer getNowPrice() {
        return nowPrice;
    }

    /**
     * 现价
     */
    public void setNowPrice(Integer nowPrice) {
        this.nowPrice = nowPrice;
    }

    /**
     * 功耗 kw·h
     */
    public BigDecimal getPowerWaste() {
        return powerWaste;
    }

    /**
     * 功耗 kw·h
     */
    public void setPowerWaste(BigDecimal powerWaste) {
        this.powerWaste = powerWaste;
    }

    /**
     * 管理费比例
     */
    public Integer getManagementPrice() {
        return managementPrice;
    }

    /**
     * 管理费比例
     */
    public void setManagementPrice(Integer managementPrice) {
        this.managementPrice = managementPrice;
    }

    /**
     * 使用周期
     */
    public String getUseCycle() {
        return useCycle;
    }

    /**
     * 使用周期
     */
    public void setUseCycle(String useCycle) {
        this.useCycle = useCycle;
    }

    /**
     * 每天电费（元）
     */
    public BigDecimal getElectricityFeesDay() {
        return electricityFeesDay;
    }

    /**
     * 每天电费（元）
     */
    public void setElectricityFeesDay(BigDecimal electricityFeesDay) {
        this.electricityFeesDay = electricityFeesDay;
    }

    /**
     * 电费价格（元）
     */
    public BigDecimal getElectricityFeesPrice() {
        return electricityFeesPrice;
    }

    /**
     * 电费价格（元）
     */
    public void setElectricityFeesPrice(BigDecimal electricityFeesPrice) {
        this.electricityFeesPrice = electricityFeesPrice;
    }

    /**
     * 预计日产出
     */
    public BigDecimal getDailyOutput() {
        return dailyOutput;
    }

    /**
     * 预计日产出
     */
    public void setDailyOutput(BigDecimal dailyOutput) {
        this.dailyOutput = dailyOutput;
    }

    /**
     * 开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 算力
     */
    public String getPower() {
        return power;
    }

    /**
     * 算力
     */
    public void setPower(String power) {
        this.power = power;
    }

    public String getSymbol() {
        return symbol;
    }

    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    /**
     * 商品介绍
     */
    public String getIntroduce() {
        return introduce;
    }

    /**
     * 商品介绍
     */
    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", minerId=").append(minerId);
        sb.append(", name=").append(name);
        sb.append(", image=").append(image);
        sb.append(", tips=").append(tips);
        sb.append(", originalPrice=").append(originalPrice);
        sb.append(", nowPrice=").append(nowPrice);
        sb.append(", powerWaste=").append(powerWaste);
        sb.append(", managementPrice=").append(managementPrice);
        sb.append(", useCycle=").append(useCycle);
        sb.append(", electricityFeesDay=").append(electricityFeesDay);
        sb.append(", electricityFeesPrice=").append(electricityFeesPrice);
        sb.append(", dailyOutput=").append(dailyOutput);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", power=").append(power);
        sb.append(", symbol=").append(symbol);
        sb.append(", introduce=").append(introduce);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SuperMinerCommodity other = (SuperMinerCommodity) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getMinerId() == null ? other.getMinerId() == null : this.getMinerId().equals(other.getMinerId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getImage() == null ? other.getImage() == null : this.getImage().equals(other.getImage()))
            && (this.getTips() == null ? other.getTips() == null : this.getTips().equals(other.getTips()))
            && (this.getOriginalPrice() == null ? other.getOriginalPrice() == null : this.getOriginalPrice().equals(other.getOriginalPrice()))
            && (this.getNowPrice() == null ? other.getNowPrice() == null : this.getNowPrice().equals(other.getNowPrice()))
            && (this.getPowerWaste() == null ? other.getPowerWaste() == null : this.getPowerWaste().equals(other.getPowerWaste()))
            && (this.getManagementPrice() == null ? other.getManagementPrice() == null : this.getManagementPrice().equals(other.getManagementPrice()))
            && (this.getUseCycle() == null ? other.getUseCycle() == null : this.getUseCycle().equals(other.getUseCycle()))
            && (this.getElectricityFeesDay() == null ? other.getElectricityFeesDay() == null : this.getElectricityFeesDay().equals(other.getElectricityFeesDay()))
            && (this.getElectricityFeesPrice() == null ? other.getElectricityFeesPrice() == null : this.getElectricityFeesPrice().equals(other.getElectricityFeesPrice()))
            && (this.getDailyOutput() == null ? other.getDailyOutput() == null : this.getDailyOutput().equals(other.getDailyOutput()))
            && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime()))
            && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getPower() == null ? other.getPower() == null : this.getPower().equals(other.getPower()))
            && (this.getSymbol() == null ? other.getSymbol() == null : this.getSymbol().equals(other.getSymbol()))
            && (this.getIntroduce() == null ? other.getIntroduce() == null : this.getIntroduce().equals(other.getIntroduce()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getMinerId() == null) ? 0 : getMinerId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getImage() == null) ? 0 : getImage().hashCode());
        result = prime * result + ((getTips() == null) ? 0 : getTips().hashCode());
        result = prime * result + ((getOriginalPrice() == null) ? 0 : getOriginalPrice().hashCode());
        result = prime * result + ((getNowPrice() == null) ? 0 : getNowPrice().hashCode());
        result = prime * result + ((getPowerWaste() == null) ? 0 : getPowerWaste().hashCode());
        result = prime * result + ((getManagementPrice() == null) ? 0 : getManagementPrice().hashCode());
        result = prime * result + ((getUseCycle() == null) ? 0 : getUseCycle().hashCode());
        result = prime * result + ((getElectricityFeesDay() == null) ? 0 : getElectricityFeesDay().hashCode());
        result = prime * result + ((getElectricityFeesPrice() == null) ? 0 : getElectricityFeesPrice().hashCode());
        result = prime * result + ((getDailyOutput() == null) ? 0 : getDailyOutput().hashCode());
        result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getPower() == null) ? 0 : getPower().hashCode());
        result = prime * result + ((getSymbol() == null) ? 0 : getSymbol().hashCode());
        result = prime * result + ((getIntroduce() == null) ? 0 : getIntroduce().hashCode());
        return result;
    }
}